Distributed Wireless Toy-Based Skill Exchange, Systems And Methods

ABSTRACT

Synergistic toys and apparatus are presented. Toys are able to communicate with each other, preferably through a wireless interface. The toys can include native skills; executable instructions, representing features of the toy. When a first toy is placed within proximity of another toy, the first toy can acquire new non-native skills from the second toy or vice versa. Thus, toys can interact with one or more other toys to give rise to an enriched interactive feature set.

This application claims the benefit of priority to U.S. provisionalapplication having Ser. No. 61/663,481 filed Jun. 22, 2012. This and allpublications herein are incorporated by reference to the same extent asif each individual publication or patent application were specificallyand individually indicated to be incorporated by reference.

FIELD OF THE INVENTION

The field of the invention is functionality exchange technologies.

BACKGROUND

Interactive toys, or other interactive devices for that matter, aretypically configured to interactively engage with an individual.Recently, toys have taken on even greater interactive features wheremultiple toys can interact with each other. Examples toys capable ofinteracting with each other include the popular Furbies™ or even someBarbie® dolls produced by Mattel®. Although such devices have beenpopular, they require that each device incorporate all interactivefeatures or skills at the time of manufacture. Unfortunately, suchdevices are unable to “learn” or acquire new skills from other possiblynearby toys.

Others have put forth effort toward developing systems and methods forintegrating interactive toy devices. For example, U.S. Pat. No.6,773,344 to Gabai titled “Methods and Apparatus for Integration ofInteractive Toys with Interactive Television and Cellular CommunicationSystems,” issued Aug. 10, 2004, discusses interactive toys connected toat least one interactive toy server which can be connected toentertainment, education, sales promotion or other content providerspossibly via Internet communication systems. A similar international PCTapplication WO 2001/070361 to Gabai titled “Interactive ToyApplications,” published Sep. 27, 2001 discusses an interactive toyenvironment, in which a plurality of interactive toys are interconnectedvia a computer network in which interactive toys interact with one ormore users. Both Gabai references, however, do not discuss altering orextending the capabilities of the interactive toys based on proximity toor connection with other interactive toy devices.

U.S. patent application 2003/0003839 A1 to Lin titled“Intercommunicating Toy,” published Jan. 2, 2003, contemplates theexchange of data between intercommunicating toy devices and the storageof the exchanged data in a storage device inside the toy body. Lin doesnot discuss the execution of acquired skills or capabilities based onthe acquired data. For example, Lin fails to provide for acquiringfunctions designed to affect physical capabilities of the toy based onthe intercommunication of data.

Similarly, US patent application 2009/0137323 A1 to Fiegener titled “Toywith Memory and USB Ports,” published May 28, 2009, contemplates asystem and method for a toy with memory storage capabilities and amethod for the toy to connect to other toys, to a computer or theInternet for online virtual play and simulation. Fiegener, again, doesnot discuss the execution of acquired non-native skills or capabilitiesbased on the connection with other toys or systems.

All publications herein are incorporated by reference to the same extentas if each individual publication or patent application werespecifically and individually indicated to be incorporated by reference.Where a definition or use of a term in an incorporated reference isinconsistent or contrary to the definition of that term provided herein,the definition of that term provided herein applies and the definitionof that term in the reference does not apply.

Thus, there is still a need for devices capable of acquiring non-nativeskills or capabilities from other devices with those skills possiblythrough an ad hoc system in which each device brings a unique skill orcapability to the system where the skills can be exchanged.

SUMMARY OF THE INVENTION

The inventive subject matter provides an apparatus capable ofinteracting with a separate device. An apparatus, preferably a toy, hasa computer readable non-transitory memory (e.g., RAM, flash, ROM, harddrive, solid state drive, etc.), at least one processor coupled withthat memory, and a device interface configured to communicatively couplewith at least the separate device. The separate device can includeanother toy for example.

The apparatus can also comprise a skill manager coupled with both thememory and the device interface that is configured to store, in thememory, a capability set. This capability set represents the abilitiesof the apparatus. The skill manager can operate as a module or agentwithin the apparatus to manage skills associated with the apparatus ortoy. For example, the skill manager can include executable instructionsstored in the memory and capable of being executed on the processors,possibly in a secure fashion.

The skill manager can additionally be configured to or programmed toacquire a non-native functionality, in the form of executableinstructions, from the separate device via the device interface, basedon the capability set. The skill manager is further capable of causingthe processor to exhibit the non-native functionality as an acquirednon-native skill by executing at least some of the executableinstructions. For example, the acquire skills can be placed within thememory and can cause the toy to exhibit new behaviors; perceptiblebehaviors or imperceptible behaviors.

The apparatus's device interface preferably comprises a wirelessinterface. Such a wireless interface could comprise at least one of anaudio sensor, an optical sensor, an infrared sensor, a camera, a radioor a transceiver. The wireless interface could also be configured tooperate according to at least one of an audio protocol, a visualprotocol, 802.11, 802.15, WiMAX, WiGIG, BlueTooth, wireless USB orZigbee. In some embodiments, the wireless interface could include acamera that captures image data displayed by another toy where the imagedata includes information related to an acquired skill (e.g., bar code,pattern, recognizable object or symbol, etc.).

The apparatus's capability set could include a broad spectrum ofabilities associated with the apparatus or toy. A capability can includeat least one computational parameter for example. Such computationalparameters may include a memory size, an application program interface,a processor capability, an operation system version or a securitycapability. The capability set could also include at least onemechanical parameter. Mechanical parameters may include a movementcapability, an actuator capability, a mechanical tolerance, a set numberof uses, a mean time between failures or a use metric. The capabilityset could also include at least one audio parameter. Audio parametersmay include an audio player capability, a speaker capability or aspeaker position. The capability set could also include at least onevisual parameter. Visual parameters may include a video player, adisplay attribute or a light emitter attribute. One should furtherappreciate that a capability set could include an attribute comprisingat least one additional capability derived from the non-nativefunctionality or other skills.

The apparatus's skill manager can be further configured in a number ofways. The skill manager could be configured to instantiate a virtualmachine, in which the processor executes at least some of the executableinstructions of the non-native functionality. Further, the virtualmachine could be a transient virtual machine, the persistence of whichmay depend on the proximity of the separate device relative to theapparatus. When an apparatus context changes, the virtual machine canchange according to one or more rules within a policy. For example, thevirtual machine can be deconstructed, which in turn causes removal ofthe acquired skill.

The skill manager could also be configured to manage a plurality ofskills stored in the memory, each skill representing a functionality ofthe apparatus. This plurality of skills could include at least onenative functionality or native skill. The skill manager could be furtherconfigured to transmit at least one native functionality to anotherdevice over the device interface. The skill manager could be furtherconfigured to discover the separate device and to handshake the separatedevice. In some embodiments, the skill manager is also configured todetermine the apparatus context.

The apparatus context could depend on at least one of an apparatusstate, a state obtained from the separate device, a proximity, alocation, an orientation, a time, a quantity of separate devices, amodel, a position, a sound, an image, a movement, a sense, or a modalityof data exchange.

Additionally, the apparatus context could depend on sensor data. Sensordata could be obtained from at least one of an accelerometer, a pressuresensor, a temperature sensor, a compass, a magnetometer, a microphone, atouch display, an optical sensor, a biometric sensor, a proximitysensor, a vibration sensor, a mechanical sensor, a chemical sensor, ahall effect sensor, a piezoelectric sensor, a capacitive sensor, aresistive sensor, a weight sensor, a medical sensor or an I/O sensor.

In some instances of such embodiments, the skill manager could befurther configured to maintain an acquired skill based on the validityof the apparatus context or could be configured to alter an acquiredskill as a function of changes to the apparatus context. In suchscenarios, the skill can be considered a transient skill capable ofpersisting within the toy as long as the apparatus context remainsvalid.

In still other embodiments, the memory, processor and skill managerpreferably reside in a toy housing. The toy housing could be sized anddimensioned to represent at least one of a doll, a vehicle, a buildingblock, a robot, an appliance, a puzzle, an animal, a stuffed animal, aninstrument, an item of apparel, a game, a costume, a book or a weapon.In instances of such embodiments, the toy housing could also, at leastpartially, house the device interface as well.

Various objects, features, aspects and advantages of the inventivesubject matter will become more apparent from the following detaileddescription of preferred embodiments, along with the accompanyingdrawing figures in which like numerals represent like components.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a schematic of toy-based skill exchange ecosystem.

DETAILED DESCRIPTION

It should be noted that while the following description is drawn to acomputer/server based device interaction system, various alternativeconfigurations are also deemed suitable and may employ various computingdevices including servers, workstations, clients, peers, interfaces,systems, databases, agents, peers, engines, controllers, modules, orother types of computing devices operating individually or collectively.One should appreciate the use of such terms are deemed to representcomputing devices comprising at least one processor configured orprogrammed to execute software instructions stored on a tangible,non-transitory computer readable storage medium (e.g., hard drive, FPGA,solid state drive, RAM, flash, ROM, memory, distributed memory, etc.).The software instructions preferably configure the computing device toprovide the roles, responsibilities, or other functionality as discussedbelow with respect to the disclosed apparatus. In especially preferredembodiments, the various servers, systems, databases, or interfacesexchange data using standardized protocols or algorithms, possibly basedon HTTP, HTTPS, AES, public-private key exchanges, web service APIs,known financial transaction protocols, or other electronic informationexchanging methods. Data exchanges preferably are conducted over apacket-switched network, the Internet, LAN, WAN, VPN, or other type ofpacket switched network.

One should appreciate that the disclosed techniques provide manyadvantageous technical effects including providing signals from onedevice (e.g., a toy) to another device (e.g., another toy) where thesignals configure the second device with new, possibly transient,functionality. For example, a toy can acquire a new skill from anothertoy. The non-native skill remains available to the toy as along as acontext permits. Thus, each toy comprises hardware capable of acquiringnew functionality.

The following discussion provides many example embodiments of theinventive subject matter. Although each embodiment represents a singlecombination of inventive elements, the inventive subject matter isconsidered to include all possible combinations of the disclosedelements. Thus if one embodiment comprises elements A, B, and C, and asecond embodiment comprises elements B and D, then the inventive subjectmatter is also considered to include other remaining combinations of A,B, C, or D, even if not explicitly disclosed.

This discussion describes a method of establishing an ad hoc networkingsystem where each system component or participant brings a uniquefeature or ‘skill’ that can be adopted by other components orparticipants that have the ability to do so. Though applicable in avariety of use cases, a system of toys is defined to adequately describethis method. The following discussion presents the inventive subjectmatter within the context of one or more interactive toys capable ofexchanging skills.

The following definitions of terms are provided to help clarify theconcepts presented below.

A “component” is considered a physical entity containing features thatcan be combined with other components to form a collective whole.Example components include a toy, a device, an interface, or otherphysical element. The terms “component” and “toy” are often usedinterchangeably.

A “participant” is a component within a system configured to engageother components with respect to an activity. Dolls that engage eachother in a shared song would be considered participants while a nearbytoy vehicle that does not engage in the singing activities would not beconsidered a participant.

A “skill” is considered to be a functionality set associated with acomponent where the functionality set configures or programs thecomponent to perform one or more specified tasks. The functionality setsare considered “skills” because they can be learned or even taught. Askill can be represented by one or more instructions stored on anon-transitory computer readable medium and cause a component'sprocessor to execute steps related to the specified tasks throughexhibiting or manifesting the skills. Skills can be packaged asindividual modules, applets, apps, applications, libraries, scripts, orother types of functionality. Example skills can include dancing,singing, recognizing objects (e.g., faces, other toys, etc.), moving,talking, driving, telling stories, or other activities.

The disclosed toys can have different types of skills including “nativeskills” or “acquired skills” A native skill is considered a skill thatis a priori deployed within the toy, possibly during manufacturing.Native skills can be considered a permanently resident feature of acomponent. An acquired skill is considered a skill that has been adoptedin the field, typically from another toy that has a corresponding nativeskill. An acquired skill can also be considered a “non-native skill”when the acquire skill was not a priori resident.

A “context” can be considered a circumstance or situation in which acomponent exists. In some embodiments, a context can be represented as asignature of sensor data or other environmental data (e.g., position,orientation, location, user preferences, etc.) where the contexttriggers or governs exhibition of skills (e.g. dancing the Macarena,singing a song, moving a weapon, mimicking a person, exhibiting a power,etc.).

FIG. 1 illustrates system 100 where toys 110A and 110B can exchangeskills Toy 110A and toy 110B are collectively referred to as toys 110.Although two toys 110 are illustrated, one should appreciate that system100 can include any number of apparatus.

In system 100, toy 110A has several features that govern itsparticipation within system 100. Toy 110A comprises memory 120Arepresenting a computer readable non-transitory memory. Memory 120A caninclude one or more types of memory include flash, RAM, ROM, a hard orsolid state drive, or other forms of storage. Memory 120A stores one ormore software instructions that execute on processor 130A to give riseto the exhibited skills of toy 110A. Suitable processors include ARM,ColdFire, 80x86, 68x00, FPGAs, DSPs, or other types of processors. Toy110A also includes one or more of device interface 112A configured orprogrammed to communicatively couple with other elements within system100, toy 110B or server 150 over network 155 for example. In morepreferred embodiments, device interface 112A comprises a wirelessinterface so that toy 110A is not burdened by additional wires. Examplewireless interfaces include an audio interface, a wireless USBinterface, IrDA, an 802.11 interface, a Bluetooth interface,WiFi-Direct, a Zigbee interface, or other type of interface. Thewireless interface can be configured to operate under low power in viewthat a long range wireless connection might not be necessary when toys110 are in close proximity. Device interface 112A could comprise a wiredinterface possibly including USB, RS-232, Ethernet, or other types ofwired interfaces. One should appreciate that toys 110 can also comprisesother supporting hardware that provided for exhibiting skills, possiblyincluding actuators, sensors, servos, batteries, motors, speakers,microphones, lights, piezoelectric elements, or other features not shownin FIG. 1, but within the scope of one skilled it the art.

Memory 120A is enlarged to illustrate various elements stored in thememory. Memory 120A can store one or more of skills 125, preferablymanaged by skill manager 140A. Skills 125 can include one or more nativeskills 127, or one or more non-native skills 129 representing skillsthat can be acquired via device interface 112A. Each of the types ofskills 125 can be stored as software instruction packages in memory 120Ausing one or more various techniques. In some embodiments, skills 125can represent libraries. In other embodiments, skills 125 could bestored as files in a file system. Each of skills 125 can also includeone or more sets of requirements that should be satisfied before theskill can be exhibited. The requirements represent the features of toy110A that are necessary or desirable for the skill to be exhibited. Forexample, a “signing” skill would require a speaker to be present in toy110A. Further, skill 125 can interrelate to each other skill via adependency hierarchy where a first skill might require other predicatedskills to be present in order for the first skill to be properlyexhibited as discussed in more detail below.

Memory 120A can also store capability set 122 representing the featuresavailable within toy 110A that can support skills 125. Capability set122 can be considered a set of functional primitives that toy 110A haswith respect to exhibiting skills Thus, capability set 122 representsthe abilities of the apparatus. Capability set 122 can be represented asa vector of features where each member of the vector corresponds to afeature. The members of the vector might indicate presence of a speaker,a servo, a skill, or other type of parameter. If the member of thevector has no value, such a feature might not be present. The value of avector member can indicate the nature of range of capability for thecorresponding feature. For example, the member of the vector indicatingpresence of a speaker can store various speaker parameter values (e.g.,volume range, play rate, selectable voices, etc.). If no values for thespeaker are present, then toy 110A can be considered to lack thespeaker. In other embodiments, capability set 122 can comprise anN-Tuple of features that include a compilation of attribute-valueparameters. An attribute can include a name, preferably a normalizedname, and the value can be a listing of one or more values outlining thenature of the attribute. Referring back to the speaker example, acapability set 122 might include an attribute-value pair of the form:“Speaker”: {“volume”: 0-10; “power”:5 mW} indicating that the speaker ispresent because of the existence of the speaker attribute and thespeaker has a volume range of 0 to 10 and a power consumption of 5milliwatts. Note that a value can itself be a listing of attribute-valuepairs. Capabilities set 122 can be compiled in an XML or otherserialized format as desired. As skills 125 are managed via skillmanager 140A, skill manager 140A can consult capability set 122 todetermine if toy 110A has sufficient capability to exhibit one or moreof skills 125.

Toy 110A a priori lacks non-native skill 129 upon deployment in thefield, as shipped to a child for example. Toy 110A can acquire one ormore of non-native skills 129 over network 115, preferably wirelessly,from toy 110B where non-native skill 129 could actually be a nativeskill of toy 110B. Toy 110A and 110B can exchange skills as long as thetwo are capable of communicating with each other, preferably through awireless connection (e.g., audio data exchange, image data exchange,Bluetooth, wireless USB, 802.11, etc.), or as context permits.

Each non-native skill 129 can include capability requirements asreferenced above or management rules governing its management. Theskill's management rules can include criteria outlining the skill'scontextual relevance, digital rights management, deployment conditions(e.g., amount of memory required, time to retain a skill, conditions forchanging skill parameters, etc.), or other features. Skill manager 140Afurther enforces each skills management rules with respect to thecontext or other skills. As the context of toy 110A changes, skillmanager 140A can observe the context of toy 110A and take action astriggered by each of skills 125 rules. In some embodiments, skillmanager 140A can operate as an event listener that registers one or moreevent handlers that are triggered based on environmental context data.As environmental data (e.g., skill data, sensor data, user inputs, etc.)flows through toy 110A, skill manager 140A can compare data valueswithin the environmental data to each event handler's trigger criteria.When the trigger criteria is satisfied by the environment data or othercontextual data, skill manager 140A can cause execution of thecorresponding event handler, which could be exhibition of one or more ofskill 125.

Skill acquisition can be considered transient in nature with respect toone or more activities. As toys 110 engage in one or more activities,they can exhibit one or more of the skills 125 individually orcollectively, possibly based on context. Should the context change,acquired non-native skill 129 can be deactivated or deleted from memory120A. For example, removal of a participant can effectively removeassociated skills from the system. Thus, as the context of toy 110Achanges, skill manager 140A can take appropriate action as governed bythe nature of non-native skills 129 with respect to the context.

Skill manager 140A can be considered a dynamic agent capable of managingeach of skills 125 collectively or independently. For example, theacquired non-native skills 129 of toy 110A can be altered or evenremoved from the apparatus. The presence or availability of a certainskills does not necessarily imply its execution. External stimulus orinstructions can be required to execute a certain skill in a certain wayor within a context. Toy 110A that acquires non-native skill 129 can actindependently of the provider (i.e., toy 110B) of that skill so long asthe right context is triggered. The trigger criteria may be externalstimulus or a pre-set routine that requires the acquiring toy 110A tofetch the context from a given source.

The trigger criteria for acquiring or exhibiting a skill 125 can dependon the toy state (e.g., internal state, external state, environment,etc.), on a state of the device from which the skill is acquired, orother data. For example, an apparatus operating as toy 110A can includeone or more sensors (e.g., accelerometers, microphones, cameras, etc.)that acquire data. The acquired data can then be used to determine thetoy's state. When the acquired data causes satisfaction of the triggercriteria, the toy then can execute instructions to acquire or exhibit askill. In some embodiments, the apparatus or toys 110 cancommunicatively couple with one or more servers 150, possiblyInternet-based servers accessible over network 155 (e.g., the Internet,WAN, VPN, etc.). The servers can provide more complex interactions,skill acquisitions, stories, episodes, or even virtual worldinteractions.

As an example, imagine the story of Snow White and the Seven Dwarfsenacted or enhanced by physical toys 110. Suppose that, on its own, aSnow White toy can dance (a native skill 127 or functionality) but nottalk (a non-native skill 129 or functionality). On its own, the Princetoy can talk (a native skill 127) but not dance (a non-native skill129). However, if the two are brought in presence of each other andpaired, possibly via a wireless connection, both can exchange skillswith each other and enabled them both to exhibit the dancing and talkingskills at the same time. Because both could dance and talk does not meanthat either will. That depends upon what instructions each one of themreceives, possibly from an external agent or other contextualinformation. An external agent could, for example, be a user or aprogram located in the cloud possibly operating as a story server 150over network 155. One should appreciate that the skills do not have be apriori resident within each toy. Rather, each toy acquires thenon-native skill 129 from other toys 110 or other suitablyskill-equipped computing devices (e.g., games, kiosks, servers,computers, etc.).

An external stimulus can be used to initiate exhibition of the skills125. Each of toys 110 can present different renditions of the skillsbased on the inputs received. For example, the two toys 110 could carryon a conversation with each other or a conversation the user. Anotherexample is two or more toys 110 can dance as a pair with complimentarysteps required for a dance. One could construct at set of skills 125that form a complex choreography among multiple toys 110. Anotherexample of external stimulus could be where the Snow White doll isinstructed to sing because she now has acquired speech capability,assuming the doll has a capability set 122 that includes emitting audiosignals, and certain songs would automatically trigger her animal friendtoys to dance. These animal friend toys may have acquired the danceskill from Snow White or may have that skill natively. Although theabove discussion is with respect to dancing, it should be appreciatedthat a dancing skill could be a simple form of movement rather than afully articulated movement typically exhibited by humans. Thus, a danceskill could be as simple as instructing toy 110A to move circularly,perhaps on wheels, around toy 110B.

Further to the example of Snow White toys, consider a scenario whereSneezy, the Dwarf, is added to the discoverable range of Snow White andthe Prince. For example, Snow White (i.e., toy 110A) can employ aservice discovery protocol (SDP) that periodically pings or queriesother nearby devices to determine presence of other toys 110 or theircapabilities. Within an embodiment based on Bluetooth, each of toys 110can respond with a suitably adapted toy-based Bluetooth profile. Inresponse to the discovery and acquisition of skills, Snow White alsoacquires the ability to sneeze in addition to the acquired ability totalk from the Prince and Sneezy could acquire the ability to talk fromthe Prince.

The ability to acquire various skills would depend upon the underlyinghardware configurations of each toy 110 as dictated by capability set122. For example, if the hardware does not support dancing as definedaccording to capability set 122, then dancing skill should not beacquired or could not be exhibited if acquired. Thus, one aspect of theinventive subject matter includes each apparatus or toy 110 storing acapability set 122 within memory 120A of the toy 110A.

Capability set 122 can include attributes or features available for usewithin skill 125. Example, capability sets 122 can include capabilityattributes indicative of computational parameters (e.g., memory size,sensors, processor power or bandwidth, etc.), mechanical parameters(e.g., movements, actuators or service, tolerances, number of uses, timeused, metrics, MTBF, etc.), audio parameters (e.g., volume control,audio player features, speakers, speaker positions, MIDI features,etc.), visual parameters (e.g., video player features, displayattributes, light emitters, cameras, etc.), digital rights, contentparameters (e.g., songs, dances, images, AI algorithms, etc.), or othertype of parameters.

As toys 110 change context, perhaps move into and out of wireless rangeof other toys 110, non-native skills 129 can change state. In someembodiments, preferably non-native skills 129 might be deactivated whileremaining resident in memory 120A if toy 110A is no longer within acontext where non-native skills 129 should remain acquired. In otherembodiments, non-native skills 129 could be deleted from memory 120Aupon exiting the relevant context. Referring back to the example of SnowWhite's non-native skill to speak, the non-native speaking skill couldbe transient and only available as long as the native skill provider toy(i.e., the Prince) is present or within discoverable range of SnowWhite. Thus, the skills can be transient based on a context that coulddepend on connectivity.

One aspect of the inventive subject matter is considered to includeskill manager 140A monitoring a context, especially in circumstanceswith intermittent connectivity, to ensure an acquired non-native skill129 can be exhibited in a manner that is consistent with an end user'sexpectations. Thus, the toys 110 can conduct a handshake protocol orheart beat protocol to test connectivity before non-native skill 129 isacquired or exhibited. Further, a context can be maintained possiblybased on a heartbeat protocol; pushed or polled, to ensure a connectionis still present. Still further, one should appreciate in a mesh networkof apparatus or toys 110, a heartbeat can be sent through a mesh ofconnections among the toys 110. Additionally, the rules under whichskill manager 140A determine when non-native skills 129 should beacquired or exhibited can depend on time, proximity, number of uses,user preferences, hierarchical dependency of skills, collectible raritypolicies, proximities, or other parameters.

An acquired non-native skill 129 can be disabled temporarily by the toy110A even though the context of toy 110A indicates that the skillremains a valid available acquired skill. For example assume Sneezy,Snow White, and the Prince are all present and connected. Thus SnowWhite can speak (acquired non-native skill), sneeze (acquired non-nativeskill), and dance (skill native to Snow White). However, Snow White maynot have sufficient computation capability to sneeze and speak at thesame time nor would it be necessary. Hence, depending on external input,context, or other requirements, Snow White could acquire sneezing skillfrom Sneezy and, when she stops or is told to do so, can remove thesneezing skill and acquire the speaking skill from the Prince. Such anapproach might be advantageous when a limited amount of RAM or othermemory is available for storing executable instructions or datarepresenting the acquired skill. The inventive subject matter isconsidered to include swapping available skills into or out of memory,or other skill management, based on context. In more preferredembodiments, toy 110A leverages skill manager 140A, which is configuredto manage skills, store capability sets, acquire non-native skills orfunctionalities, cause exhibition of the skills, delete skills, modifyskills, swap skills, or otherwise handle skills for the toy.

In some embodiments having multiple toys 110, one toy 110A can take ongroup or system skill management responsibilities across the collectiveof toys 110. Once relevant toys 110 establish a skill network (e.g., acommunication network among the toys), toy 110A can be elected orotherwise configured to be the global skill manager. The global skillmanager can communicate skill information or coordinate instructions toall members in the network. In the Snow White example, she might bedesignated the global skill manager when one or more of the dwarf toysare present. In such a case, the dwarfs could acquire the dance skillsfrom Snow White and she can instruct all the dwarfs to initiate theirdance. When the Prince enters the network, he might take over as aglobal skill manager and provide additional instructions or skillcommands among the toys.

A network of toys can be established in response to a one or morediscovery protocols messages. Each toy 110A can respond with a name orother identifier indicating the toy's identity, possibly with respect toa toy namespace. Toys belonging to a common namespace group can bejoined into the network. For example, Snow White and the Seven Dwarvescould individually have normalized identifiers of the form:“SWatSD.snow_white”, “SWatSD.doc”; “SWatSD.sneezy”, and so on. The nameprefix “SWatSD” indicates a group to which the toys belong and indicatesthat such toys can be joined within a skill network. In the examplepresented, the toy namespace is constructed to be human readable. Still,one should appreciate that toy identifiers can take on different formsincluding binary bit fields, numeric tokens, hashes, or other types ofidentifiers. The skill network can be arranged according to varioustopology including a star topology, mesh topology, peer-to-peertopology, or other topologies. Scenarios with multiple many toys (e.g.,more than five), a star topology can be used to reduce communicationoverhead. The hub of the star can be the toy elected as a global manageror toy having the greatest message routing capabilities.

Toys 110 are considered to represent distributed computational elementscapable of expanding or reducing a system wide feature set as newhardware components (e.g., toys 110) are added to or removed from theecosystem. This synergistic addition of features enriches the overallsystem and allows for component interactions of increasing complexity.Furthermore, the complexity of interaction amongst the participatingcomponents increases with an increasing set of components due to variouscomponents bringing native skills and the ability to acquire skills fromothers. Still further, the collective group of toys 110 participatingtogether as a whole allow for increased system resources (e.g., memory,processors, storage, etc.), which can be leveraged for even greaterskills that would not necessarily fit within the resource constraints ofa single toy 110A.

An individual component or participant in the aforementioned systemcould have the following elements: a hardware to support a set of nativeskills 127 along with a capability set 122, hardware to support a set ofspecified acquired non native skills 129, a wireless interface tocommunicate with other components of the system, an optional securewireless connection operating as device interface 112A to communicatewith the cloud (e.g., PaaS, SaaS, IaaS, etc.) or other separate devices,at least one sensor (e.g., microphone, camera, piezoelectric sensor,etc.), a native skill context or ability to obtain such a context fromauthorized external sources such as a server of the Internet, aprocessor to execute native skills 127 and acquired non-native skills129, a host virtual machine, a host operating system (OS), or otherelements.

In some embodiments having sufficient processor or memory resources, toy110A can host a virtual machine through which it exhibits one or more ofskills 125. Such an approach is considered advantageous because thevirtual machine isolates skill management and exhibition from theprocesses executing on the hardware of toy 110. Further, providingaccess to a virtual machine environment within toy 110A allows toy 110Bor server 150 to control functionality of acquired non-native skills129, especially in an environment where digital rights management can beconsidered important. Consider a scenario where Snow White acquires theskill to sing a non-native song, possibly acquired via the Prince orserver 150. The non-native song could have numerous or varied rightsassociated with it, possibly including restrictions on copying to adigital memory. In such a scenario, Snow White's skill manager 140Acould instantiate a virtual machine that remains under control of thesource providing the non-native song where the virtual machine ensuresthat the song's skill information remains under control of the source.When the non-native song is no longer contextually relevant, skillmanager 140A or a global skill manager can cause deconstruction of thevirtual machine, thus eliminating the song from memory. Alternatively,the source (e.g., sever 150, toy 110B, etc.) of the non-native songcould instruct the virtual machine to clean its memory and then tode-instantiate itself.

One should appreciate that instantiating a virtual machine could dependon the nature of skills 125, especially on acquired non-native skills129 where the skill attributes influence the parameters of the virtualmachine. The skill attributes could indicate which toy functions shouldbe present in the virtual machine to support the skill, cryptographicrequirements for exhibiting the skills, a skill's memory requirements,restrictions or boundary conditions on skill exhibition (e.g., number ofexhibitions, time shifting, amount of simulated damage to take, etc.),or other attributes.

Virtual machines also allow for additional features within toy 110A.Example capabilities that can be supported via virtual machines includeaccepting external instruction or inputs (e.g., including user interfacemethod), executing native skills 127 upon instruction with specifiedcontext or otherwise, sending a skill 125 from a native portion of thememory to another, authorizing a capable participant, sending a nativecontext to another authorized and capable participant, acquiringrelevant external skills 125 (e.g., non-native skills 129) from anauthorized participant, acquiring relevant external context fromauthorized external sources (such as a participant or the Internet), orexecuting acquired skills upon instruction with specified context orotherwise. Virtual machines are considered useful because more than onetype of virtual machine can be present on an OS at a time allowing formany different types of encoded skills 125 to be exhibited.Additionally, virtual machines can provide for secured execution ofskill-related instructions. For example, skills can be encoded based onJava, .NET, Python, or other languages (e.g., scripts, byte-codes, etc.)that leverage virtual machines for execution. Such an approach is usefulwhen developing new skills or providing a skill development environmentwhere users, or other developers, can create new skills in their ownpreferred language.

Toy 110A can include a host operating system capable of managinghardware resources, establishing wireless network with otherparticipants, communication stack management, establishing wirelessconnection to the cloud, handling housekeeping (e.g., battery charging,power usage, etc.), discovering another authorized participant andconnecting to it after appropriate authentication or discovering thecapabilities of any authorized and connected participant.

Toy 110A can include one or more user interface options, which candepend on the nature of toy 110A or its intended use cases. Userinteractions can be processed via one or more algorithms to enhance theuser's experience with toy 110A. Example algorithms can include speechrecognition (e.g., automatic speech recognition, hidden Markov models,etc.), face recognition, gesture recognition, object recognition (e.g.,SIFT, FAST, BRISK, etc.), or other algorithms. Further, toy 110A couldinteract with one or more mobile devices (e.g., cell phone, tablets,etc.) via device interface 112A to exchange information. For example, acell phone could communicate skill-based instructions to toy 110A via aBluetooth connection over device interface 112A where the skill-basedinstructions control aspects of skills 125. An optional feature couldalso include forwarding user input (e.g., commands, preferences, etc.)or other data received via device interface 112A to other toys 110 in anetwork as discussed previously.

In some embodiments, toy 110A can include one or more native skills 127that allows toy 110A to recognize other toys 110 through image-basedrecognition modules. For example, Snow White can include an image sensor(e.g., a CCD-based digital camera) that captures an image of the Princetoy. Snow White's image recognition module processes the image of thePrince and recognizes the Prince as an affiliated toy based on the imagecharacteristics of the Prince. In response, Snow White can then take oneor more actions: exhibiting an associated skill (e.g., speaking,dancing, singing, etc.), acquiring non-native skill 129, instantiating avirtual machine, or other actions. Example techniques that can besuitably adapted for use with the inventive subject matter includes thetechniques disclosed in U.S. Pat. Nos. 7,016,532; 7,477,780; 7,680,324;7,565,008; 7,564,469, and 8,130,242.

In view that toys 110 can operate collectively, one should appreciatethat toys 110 can comprise networking infrastructure as well. In someembodiments, toys 110 are configured to establish an ad-hoc skillsnetwork (e.g., Zigbee, Bluetooth, Wi-Fi Direct, DLNA, etc.) where toys110 can exchange skills via the established network or mesh. Exampleoperating systems capable of supporting ad-hoc networking communicationstacks include embedded versions of Linux, Android OS, iOS, VxWorks,QNX, SMX, or other operating systems.

To continue with the toy example, an entire marketing concept could betied to a storyline that expands and adapts over time, and that includesthe user in the system. Over time toy 110A can adapt to user preferencesas the storyline unfolds. Further, such toys 110 can have one or morecollectable aspects where toys 110 are produced according to a raritypolicy. For example, Snow White might be a common toy while the SevenDwarves are uncommon, and the Prince might be a rare toy. Still further,toys 110 can have latent skills that only become manifest when multipletoys are in proximity to each other. For example, when Snow White ispresent with all Seven Dwarves, they can unlock as special song oraccess a feature on an on-line world. The song might be disaggregated,even encrypted, across all toys 110 and can only be made available, ordecrypted, when all toys are present. Thus, each toy can include a keyor just a portion of a key that enable or unlock a skill.

In some embodiments, an on-line server 150 can operate as story or skillserver. Server 150 can be configured or programmed to store one or morestories, possibly in the form of episodes. For example, during episode1, a Snow White toy can play out an initial scene with an evil queentoy. A week later, episode 2 can be released and might includeinteractions where the evil queen toy can play out a scene with ahuntsmen toy. Thus the toys can be configured or programmed to play outepisodes in the real-world as if they are in a miniature stage play. Insuch embodiments, the story server 150 can monitor status of the toy'scontext to determine status of a story playback. If the play isinterrupted, the story server can instruct the toys to pick up wherethey left off. Alternatively, users can interact with the story serverto “time shift” the play (e.g., rewind, fast forward, etc.), bookmarklocations in the play, or otherwise control presentation of the play.The inventive subject matter is considered to include episodicpresentation of information via toys, especially through use of nativeand acquired non-native functionality.

In similar vein, a group of toys 110 can form a cohesive group or crowd.Consider an example where toys 110 represent musical instruments or evenmusicians; perhaps a collection of action figures could represent amusic band. When toys 110 are placed in proximity to each other, theycan exchange skills to give rise to a musical performance. In someembodiments, the band might include an orchestra that plays music whentogether or when unlocked by a conductor.

Yet another example of coordinating a group or crowd of toys 110 couldinclude toys 110 behaving as an audience for the user. As the end user,a child for example, interacts with toys 110, they can collectivelyoperate as an audience. When the child performs one or more recognizedactions, the audience can cheer or jeer as required by the acquiredskill sets. Similarly, toys could operate as a troop of soldiers, wherethe troop gains abilities when more senior/experience toys are present(e.g., leaders, officers, etc.).

A marketing approach of the example system could be linked to sellingindividual toy products (e.g., dolls, vehicles, weapons, planes,building blocks, etc.) or expanding the market by having each sold dollacquire skills from other dolls in order to expand the storyline and itscapabilities. Each doll would represent a small story on its own, butthe story would grow as other dolls join the system. For example, theSnow White toy might speak to describe her opinion of the evil queen.When the evil queen toy is present, she could then tell “her side” ofthe story.

Multiple versions of the same product type (e.g., different version oftoy 110A) may have different personalities. For example, Snow Whiteversion 2 may have personality enhancement (e.g., an exhibited newversion of native skill 127) over version 1. The personality enhancementmight include shifting Snow White's personality (e.g., sad, tired,lonely, etc.) from her time in the castle with the evil queen to apersonality (e.g., content, enthusiastic, etc.) at a time when she iswith the dwarves, or even on to a personality (e.g., empowered, stately,etc.) at the time when she is with the Prince. Thus, the exhibition ormanifestation of skills 125 can vary with time or context.

Skill exchange among toys 110 can occur through one or more techniques.In some embodiments, a toy can publish its capability set 122 indicatingthe ability of toy 110A to support one or more of skills 125, especiallynon-native skills 129. In response, a second toy 110B can comparecapability set 122 with the second toy's resident or available skillsOne should note that the second toy's available skills do notnecessarily have to be native skills for the second toy. If there areresident or available skills, possibly native skills that can leverageone or more capabilities in capability set 122 of toy 110A, then secondtoy 110B can offer the skills for acquisition. It is also contemplatedthat toys 110 could simply publish a list of available skills foracquisition. In which case, a receiving toy 110A can compare itscapability set 122 against the published skills requirements. If thereis a match, it can request one or more of the published skillsRegardless of how the skill exchange takes place, one should appreciatethat toy 110A can discover available skills from other toys. Thus, a toycan send out or receive a skill discovery message, which can then giverise to the skill exchange.

Skills 125 can build on each other in a manner where acquired non-nativeskills 129 can provide infrastructure support (e.g., libraries, APIs,modules, etc.). The acquired non-native skills 129 can change acapability set 122 of a toy 110A, thereby enabling acquisition of evenmore complex skills. Further, in a group environment, skills among toys110 can be shared to allow the group as a whole to achieve one or moregoals, possibly including an episode or dance as previously discussed.

The disclosed apparatus has been presented mainly within the context ofa toy doll; that is Snow White. One should appreciate that the toy couldtake on many different forms. Example toys could include vehicles (e.g.,Cars®), building blocks, fairies (e.g., Tinkerbell®), animals, stuffanimals, action figures, robots, space ships, or other types of toys. Inview that the toys can take on many different shapes, one shouldappreciate that the disclosed system can comprises a homogenous mix oftoys (e.g., all dolls) or a heterogeneous mix of toys (e.g., dolls andvehicles). Consider a scenario where a Woody® doll is able to speak andis paired with a car. Woody can acquire a “driving” skill from the carin response to being placed within the car. Although the car couldoperate on its own or under control of a user, Woody might make commentsor take actions that augment a driving experience.

The disclosed toys or apparatus can also complement other types ofentertainment. For example, a computer-based role playing game couldinteract with toy 110A. As characters interact in the game world,possibly via server 150, toy 110A can respond or interact with the gameworld. Thus, one can consider a virtual character or an augmentedreality character as a possible source for a non-native skill 129.Further, toy 110A can “watch” or “listen” to television and exhibitskills 125 in response to recognized on-screen or rendered content(e.g., television programming, rendered graphics, audio signals, etc.).

Toys 110 can also operate as a platform for contests, possibly evenscavenger hunts. As toy 110A acquires non-native skills 129, skills 129might unlock contest elements or items in the scavenger hunts. As acontestant has their toys 110 interact with other contestant's toys, anext stage in the contest might be revealed. The first person to unlockor find all the contests requirements can then win a prize. Further, asskills are unlocked or acquired the toy could win virtual trophies thatcan be displayed on a community server 150.

In embodiments where toy 110A comprises time-varying skills 125, suchskills can improve with use to emulate toy 110A practicing one or moreof skills 125. For example, Snow White might start with native skill 127that exhibits singing. However, initially the signing skill might beexhibited poorly or have low quality. Alternatively Snow White might notknow all the words to the song. As Snow White exhibits or manifests thesigning skill over time, her quality of singing could improve or shemight remember more words of the song. Thus, skills 125 can operate as afunction of a number of uses or other skill use metrics. Additionalskill use metrics could include duration of use, number of uses withothers, number of participants in a collective activities, or othertypes skill uses.

It should be apparent to those skilled in the art that many moremodifications and example systems and applications, besides thosealready described, are possible without departing from the inventiveconcepts herein. The inventive subject matter, therefore, is not to berestricted except in the scope of the appended claims. Moreover, ininterpreting both the specification and the claims, all terms should beinterpreted in the broadest possible manner consistent with the context.In particular, the terms “comprises” and “comprising” should beinterpreted as referring to elements, components, or steps in anon-exclusive manner, indicating that the referenced elements,components, or steps may be present, or utilized, or combined with otherelements, components, or steps that are not expressly referenced. Wherethe specification claims refers to at least one of something selectedfrom the group consisting of A, B, C . . . and N, the text should beinterpreted as requiring only one element from the group, not A plus N,or B plus N, etc.

What is claimed is:
 1. A toy capable of interacting with a separatedevice comprising: a computer readable non-transitory memory; at leastone processor coupled with the memory; a device interface configured tocommunicatively couple with at least the separate device; and a skillmanager coupled with the memory and the device interface, and configuredto: store a capability set in the memory, the capability setrepresenting abilities of the apparatus, acquire a non-nativefunctionality in the form of executable instructions from the separatedevice via the device interface based on the capability set, and causethe processor to exhibit the non-native functionality as an acquiredskill by executing at least some of the executable instructions.
 2. Thetoy of claim 1, wherein the computer readable non-transitory memorycomprises at least one of the following: RAM, flash, ROM, hard drive,and solid state drive.
 3. The toy of claim 1, wherein the deviceinterface comprises a wireless interface.
 4. The toy of claim 3, whereinthe wireless interface comprises at least one of the following: an audiosensor, an optical sensor, an infrared sensor, a camera, a radio, and atransceiver.
 5. The toy of claim 3, wherein the wireless interface isconfigured to operate according to at least one of the following: anaudio protocol, a visual protocol, 802.11, 802.15, WiMAX, WiGIG,Bluetooth, wireless USB, and Zigbee.
 6. The toy of claim 1, wherein thecapability set comprises at least one of the following computationalparameters: a memory size, an application program interface, a processorcapability, an operation system version, and a security capability. 7.The toy of claim 1, wherein the capability set comprises at least one ofthe following mechanical parameters: a movement capability, an actuatorcapability, a mechanical tolerance, a number of uses, a mean timebetween failures, and a use metric.
 8. The toy of claim 1, wherein thecapability set comprises at least one of the following audio parameters:an audio player capability, a speaker capability, and a speakerposition.
 9. The toy of claim 1, wherein the capability set comprises atleast one of the following visual parameters: a video player, a displayattribute, and a light emitter attribute.
 10. The toy of claim 1,wherein the capability set comprises at least one additional capabilityderived from the non-native functionality.
 11. The toy of claim 1,wherein the skill manager is further configured to instantiate a virtualmachine, in which the processor executes at least some of the executableinstructions of the non-native functionality.
 12. The toy of claim 11,wherein the virtual machine comprises a transient virtual machine. 13.The toy of claim 11, wherein persistence of the virtual machine dependson proximity of the separate device to the apparatus.
 14. The toy ofclaim 1, further comprising a toy housing in which is disposed thememory, processor, and skill manager.
 15. The toy of claim 14, whereinthe toy housing is sized and dimensioned to represent at least one ofthe following: a doll, a vehicle, a building block, a robot, anappliance, a puzzle, an animal, a stuffed animal, an instrument, an itemof apparel, a game, a costume, a book, and a weapon.
 16. The toy ofclaim 14, wherein the toy housing at least partially houses the deviceinterface.
 17. The toy of claim 1, wherein the skill manager is furtherconfigured to manage a plurality of skills stored in the memory, eachskill representing functionality of the apparatus.
 18. The toy of claim17, wherein the plurality of skills comprises the non-nativefunctionality represented by the acquired skill.
 19. The toy of claim17, wherein the plurality of skills comprises at least one nativefunctionality.
 20. The toy of claim 19, wherein the skill manager isfurther configured to transmit the at least one native functionalitywith another device over the device interface.
 21. The toy of claim 1,wherein the skill manager is further configured to discover the separatedevice.
 22. The toy of claim 1, wherein the skill manager is furtherconfigured to handshake with the separate device.
 23. The toy of claim1, wherein the skill manager is further configured to determine anapparatus context.
 24. The toy of claim 23, wherein the skill manager isfurther configured to maintain the acquired skill based on validity ofthe apparatus context.
 25. The toy of claim 23, wherein the skillmanager alters the acquired skill as a function of changes to theapparatus context.
 26. The toy of claim 23, where the apparatus contextdepends on at least one of the following: an apparatus state, a stateobtained from the separate device, a proximity, a location, anorientation, a time, a quantity of separate devices, a model, a make, aposition, a sound, an image, a movement, a sense, and a modality of dataexchange.
 27. The toy of claim 23, wherein the apparatus context dependson sensor data obtained from at least one of the following sensors: anaccelerometer, a pressure sensor, a temperature sensor, a compass, amagnetometer, a microphone, a touch display, an optical sensor, abiometric sensor, a proximity sensor, a vibration sensor, a mechanicalsensor, a chemical sensor, a hall effect sensor, a piezoelectric sensor,a capacitive sensor, a resistive sensor, a weight sensor, a medicalsensor, and an I/O sensor.